CREATE TABLE [dbo].[SalesHistory]
(
[SalesHistoryKey] [uniqueidentifier] NOT NULL,
[TransactionDate] [datetime] NOT NULL,
[OrderNumber] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[OrderTypeKey] [uniqueidentifier] NULL,
[OrderDate] [datetime] NULL,
[InvoiceTypeCode] [nchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[BillToContactKey] [uniqueidentifier] NOT NULL,
[ShipToContactKey] [uniqueidentifier] NOT NULL,
[SoldToContactKey] [uniqueidentifier] NOT NULL,
[ProductKey] [uniqueidentifier] NOT NULL,
[WarehouseKey] [uniqueidentifier] NULL,
[QuantitySold] [decimal] (18, 8) NOT NULL,
[ExtendedPrice] [decimal] (18, 4) NOT NULL,
[UndiscountedExtendedPrice] [decimal] (18, 4) NOT NULL,
[ExtendedCost] [decimal] (18, 4) NOT NULL,
[UomKey] [uniqueidentifier] NULL,
[SourceCodeKey] [uniqueidentifier] NULL,
[ResponseMediaCode] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PriceSheetKey] [uniqueidentifier] NULL,
[CommissionPlanKey] [uniqueidentifier] NULL,
[SalesTeamGroupKey] [uniqueidentifier] NULL,
[SalesLocationKey] [uniqueidentifier] NULL,
[IsPledge] [bit] NULL,
[ListAs] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Description] [nvarchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[InvoiceNumber] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[InvoiceLineNumber] [int] NULL,
[SourceSalesHistoryKey] [uniqueidentifier] NULL,
[PromotionDiscountKey] [uniqueidentifier] NULL,
[AccessKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[SystemEntityKey] [uniqueidentifier] NOT NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [PK_SalesHistory] PRIMARY KEY CLUSTERED ([SalesHistoryKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SalesHistory_BillToContactKey] ON [dbo].[SalesHistory] ([BillToContactKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SalesHistory_ProductKey] ON [dbo].[SalesHistory] ([ProductKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SalesHistory_ShipToContactKey] ON [dbo].[SalesHistory] ([ShipToContactKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SalesHistory_SoldToContactKey] ON [dbo].[SalesHistory] ([SoldToContactKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_AccessMain] FOREIGN KEY ([AccessKey]) REFERENCES [dbo].[AccessMain] ([AccessKey])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_ContactMain_BillTo] FOREIGN KEY ([BillToContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_ContactMain_ShipTo] FOREIGN KEY ([ShipToContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_ContactMain_SoldTo] FOREIGN KEY ([SoldToContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_GroupMain_SalesTeam] FOREIGN KEY ([SalesTeamGroupKey]) REFERENCES [dbo].[GroupMain] ([GroupKey])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_InvoiceTypeRef] FOREIGN KEY ([InvoiceTypeCode]) REFERENCES [dbo].[InvoiceTypeRef] ([InvoiceTypeCode])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_ResponseMediaRef] FOREIGN KEY ([ResponseMediaCode]) REFERENCES [dbo].[ResponseMediaRef] ([ResponseMediaCode])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_SalesHistory] FOREIGN KEY ([SourceSalesHistoryKey]) REFERENCES [dbo].[SalesHistory] ([SalesHistoryKey])
GO
ALTER TABLE [dbo].[SalesHistory] ADD CONSTRAINT [FK_SalesHistory_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO